﻿/*  
	========================================================================
	 awzBoxes Library
	
	 Homepage: http://www.awzhome.de/
	========================================================================
	
	This Source Code Form is subject to the terms of the Mozilla Public
	License, v. 2.0. If a copy of the MPL was not distributed with this
	file, You can obtain one at http://mozilla.org/MPL/2.0/.
   
	The Original Code is code of awzBoxes Library.

	The Initial Developer of the Original Code is Andreas Weizel.
	Portions created by the Initial Developer are
	Copyright (C) 2011-2012 Andreas Weizel. All Rights Reserved.
	
	Contributor(s): (none)
	
	========================================================================
*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Input;

namespace AWZhome.awzBoxes
{
	/// <summary>
	/// Class offering several commands used with the awzBoxes library.
	/// </summary>
	public class BoxCommands
	{
		/// <summary>
		/// Command representing auto-hiding a <see cref="AWZhome.awzBoxes.Box"/>.
		/// </summary>
		public static readonly RoutedCommand BoxAutoHide;

		/// <summary>
		/// Command representing opening an auto-hidden <see cref="AWZhome.awzBoxes.BoxItem"/>.
		/// </summary>
		public static readonly RoutedCommand BoxAutoHideTrigger;

		/// <summary>
		/// Command representing closing of a <see cref="AWZhome.awzBoxes.BoxItem"/>.
		/// </summary>
		public static readonly RoutedCommand BoxItemClose;

		/// <summary>
		/// Command representing undocking a <see cref="AWZhome.awzBoxes.BoxItem"/> to a floating window.
		/// </summary>
		public static readonly RoutedCommand BoxItemFloating;

		/// <summary>
		/// Command representing closing an auto-hidden <see cref="AWZhome.awzBoxes.BoxItem"/>.
		/// </summary>
		public static readonly RoutedCommand AutoHideBoxItemClose;

		/// <summary>
		/// Command representing restoring a <see cref="AWZhome.awzBoxes.Box"/> from auto-hide area.
		/// </summary>
		public static readonly RoutedCommand AutoHideBoxItemRedock;

		/// <summary>
		/// Command representing closing the floating window of a <see cref="AWZhome.awzBoxes.BoxItem"/>.
		/// </summary>
		public static readonly RoutedCommand FloatingBoxItemClose;

		/// <summary>
		/// Command representing restoring a <see cref="AWZhome.awzBoxes.Box"/> from a floating window.
		/// </summary>
		public static readonly RoutedCommand FloatingBoxItemRedock;

		/// <summary>
		/// Command representing maximizing a <see cref="AWZhome.awzBoxes.FloatingWindow"/>.
		/// </summary>
		public static readonly RoutedCommand FloatingBoxItemMaximize;

		static BoxCommands()
		{
			BoxAutoHide = new RoutedCommand("BoxAutoHide", typeof(Box));
			BoxAutoHideTrigger = new RoutedCommand("BoxAutoHideTrigger", typeof(BoxWindowContainer));
			BoxItemClose = new RoutedCommand("BoxItemClose", typeof(Box));
			BoxItemFloating = new RoutedCommand("BoxItemFloating", typeof(Box));
			AutoHideBoxItemClose = new RoutedCommand("AutoHideBoxItemClose", typeof(BoxWindowContainer));
			AutoHideBoxItemRedock = new RoutedCommand("AutoHideBoxItemRedock", typeof(BoxWindowContainer));
			FloatingBoxItemClose = new RoutedCommand("FloatingBoxItemClose", typeof(FloatingWindow));
			FloatingBoxItemRedock = new RoutedCommand("FloatingBoxItemRedock", typeof(FloatingWindow));
			FloatingBoxItemMaximize = new RoutedCommand("FloatingBoxItemMaximize", typeof(FloatingWindow));
		}
	}
}
